package fr.auzaiphe.admin.view;

import java.util.ArrayList;

import javax.swing.JTable;

import fr.auzaiphe.admin.controller.AdminController;
import fr.auzaiphe.admin.model.Alerte;
import fr.auzaiphe.admin.model.Indice;
import fr.auzaiphe.admin.model.Joueur;

public class SelectionAlerte extends SelectionTableResultat
{
	
	/*
	 * Éléments de la base de donnée
	 */
	String nom;
	ArrayList<String> joueurs;
	/**
	 * Rappel du constructeur de la méthode mère
	 * @param pTable
	 * @param pController
	 * @see fr.auzaiphe.admin.view.SelectionTableResultat#controller
	 */
	public SelectionAlerte(JTable pTable, AdminController pController)
	{
		super(pTable, pController);
	}
	/**
	 * Récupération des joueurs
	 */
	@Override
    protected void recuperation()
    {
		this.nom = this.getTable().getValueAt(this.getSelectedRow(), 0).toString();
		Alerte alerteModifie = this.getController().getAlerte(this.nom);
		
		if(alerteModifie != null){
			AjouterAlerteFrame fenetreAlerte = new AjouterAlerteFrame(
					alerteModifie.getId(),
					this.getController(),
					this.getController().getJoueurs(),
					alerteModifie.getTitre(),
					alerteModifie.isTargetingAdmin(),
					alerteModifie.isTargetingAll(),
					alerteModifie.getCible(),
					alerteModifie.getChronoCible(),
					alerteModifie.getActivation(),
					alerteModifie.getContenu()
					);
			fenetreAlerte.setVisible(true);
		}
		else
			System.err.println("L'alerte indiquée n'existe pas.");
			
    }

	@Override
	protected void suppression()
	{
		this.nom = this.getTable().getValueAt(this.getSelectedRow(), 0).toString();
        

        Alerte alerteSupprime = this.getController().getAlerte( this.nom );

        if ( alerteSupprime != null )
        {
        	this.controller.supprimerAlerte( alerteSupprime );
        }
        else
        {
        	System.out.println("L'alerte que vous tentez de supprimer n'existe pas.");
        }
	}
}


